#pragma once

#include "World.h"
#include "WVWMatch.h"
#include <tuple>
#include "JSONParser.h"


#define KEY_WORLD_ID "world_id"
#define KEY_MAP_ID "map_id"
#define KEY_EVENT_ID "event_id"
#define KEY_EVENT_STATE "state"
#define KEY_EVENT_STATE_LIST "events"

namespace Gw2API{
	//typedef std::vector<std::tuple<std::string, std::string, std::string, std::string>> four_tuple_vector;

class JSONInterpreter
{
public:
	JSONInterpreter(void);
	~JSONInterpreter(void);


	//parses a strPtr to a valid matchmapping string recieved from MatchMappingRequest returns a vector with match_mappings
	//std::vector<match_mapping> parseMatchMapping(std::string*);

	std::vector<World> interpreteToWorldMapping(JSON::JSON*);
	std::vector<Map> interpreteToMapMapping(JSON::JSON*);
	std::vector<Event> interpreteToEventMapping(JSON::JSON*);
	std::vector<evtStat> interpreteToEventStatus(JSON::JSON*);
	std::vector<WVWMatch> interpreteToWVWMatchMapping(JSON::JSON*);

private:
	
};
};